from flask import session
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
from info import create_app,db,models

# 创建应用程序对象,根据环境
app = create_app("dev")

# 创建管理对象,关联app,db
manager = Manager(app=app)
Migrate(app=app,db=db)
manager.add_command("db",MigrateCommand)

# 管理员创建方法
@manager.option('-n', '--nickname', dest='nickname')
@manager.option('-u', '--mobile', dest='mobile')
@manager.option('-p', '--password', dest='password')
def create_superuser(nickname,mobile,password):
    # 1, 创建管理员对象
    admin = models.User()

    # 2,赋值属性
    admin.nick_name = nickname
    admin.mobile = mobile
    admin.password = password
    admin.is_admin = True

    # 3,添加管理员到数据库
    db.session.add(admin)
    db.session.commit()

    return f"管理员{nickname}创建成功"

if __name__ == '__main__':
    manager.run()